home *** CD-ROM | disk | FTP | other *** search
- /*
- ** SM.LIB function source code
- ** Copyright 1986, S.E. Margison
- **
- ** FUNCTION: sound.h
- ** defines for IBM speaker control
- */
-
- /* defines for mktone() update parameter: */
- #define ON 0 /* turn the speaker on */
- #define UPDATE 1 /* sound is on, just change freq */
- #define TOGGLE 2 /* for delay use, turn on, then off */
-
- /* port equates */
- #define SCNTRL 97 /* sound control port */
- #define SOUNDON 0x03 /* bit mask to enable speaker */
- #define SOUNDOFF 0xfc /* bit mask to disable speaker */
- #define C8253 67 /* port address to control 8253 */
- #define SETIMER 182 /* tell 8253 to expect freq data next */
- #define F8253 66 /* frequency address on 8253 */
-
- /* frequency equates (muscical scale) */
- /* digit in label is octave number, S indicates Sharp (#) */
- #define C0 36489
- #define CS0 34445
- #define D0 32512
- #define DS0 30673
- #define E0 28961
- #define F0 27329
- #define FS0 25804
- #define G0 24351
- #define GS0 22981
- #define A0 21694
- #define AS0 20473
- #define B0 19326
-
- #define C1 18244
- #define CS1 17218
- #define D1 16251
- #define DS1 15340
- #define E1 14480
- #define F1 13668
- #define FS1 12899
- #define G1 12175
- #define GS1 11493
- #define A1 10847
- #define AS1 10238
- #define B1 9663
-
- #define C2 9121
- #define CS2 8609
- #define D2 8126
- #define DS2 7670
- #define E2 7239
- #define F2 6833
- #define FS2 6450
- #define G2 6088
- #define GS2 5746
- #define A2 5424
- #define AS2 5119
- #define B2 4832
-
- #define C3 4561
- #define CS3 4305
- #define D3 4063
- #define DS3 3835
- #define E3 3620
- #define F3 3417
- #define FS3 3225
- #define G3 3044
- #define GS3 2873
- #define A3 2712
- #define AS3 2560
- #define B3 2416
-
- #define C4 2280
- #define CS4 2152
- #define D4 2032
- #define DS4 1917
- #define E4 1810
- #define F4 1708
- #define FS4 1612
- #define G4 1522
- #define GS4 1437
- #define A4 1356
- #define AS4 1280
- #define B4 1210
-
- #define C5 1140
- #define CS5 1076
- #define D5 1016
- #define DS5 959
- #define E5 905
- #define F5 854
- #define FS5 806
- #define G5 761
- #define GS5 718
- #define A5 678
- #define AS5 640
- #define B5 604
-
- #define C6 570
- #define CS6 538
- #define D6 508
- #define DS6 479
- #define E6 449
- #define F6 427
- #define FS6 403
- #define G6 380
- #define GS6 359
- #define A6 339
- #define AS6 320
- #define B6 302
-
- #define C7 285
- #define CS7 269
- #define D7 254
- #define DS7 240
- #define E7 226
- #define F7 214
- #define FS7 202
- #define G7 190
- #define GS7 180
- #define A7 169
- #define AS7 160
- #define B7 151
-
- #define C8 143
-